<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>深拷贝</title>
</head>
<body>
    <script src="./js/lodash.min.js"></script>
    <script>
    // 旧对象
    const obj={
        name: 'zhangsan',
        age: 12,
        hobby: ['篮球','足球'],
        msg: {height: '175cm',weight: '68kg'}
    }
    // // 1、使用递归实现
    // // 新对象
    // const newObj={}
    // // 拷贝方法
    // function deepCopy(newObj,oldObj){
    //     // 遍历对象
    //     for(let k in oldObj){
    //         // 如果是数组或对象就递归
    //         if(oldObj[k] instanceof Array){
    //             newObj[k]=[]
    //             deepCopy(newObj[k],oldObj[k])
    //         }else if(oldObj[k] instanceof Object){
    //             newObj[k]={}
    //             deepCopy(newObj[k],oldObj[k])
    //         }
    //         else{
    //             newObj[k]=oldObj[k]
    //         }
            
    //     }
    // }
    // deepCopy(newObj,obj)

    // 2、使用lodash.js实现
    // const newObj =_.cloneDeep(obj)

    // 3、把对象转换为Json字符串
    const newObj=JSON.parse(JSON.stringify(obj))
    newObj.name='aa'
    newObj.hobby[0]='网球'
    newObj.msg['height']='180cm'
    console.log(obj);
    console.log(newObj);
    </script>
</body>
</html>